package com.ruoyi.canteen.service;

import java.util.List;
import com.ruoyi.canteen.domain.CanteenOrderAddress;
import com.ruoyi.canteen.vo.CanteenOrderAddressVo;

/**
 * 订餐地址Service接口
 * 
 * @author zhangw
 * @date 2021-09-19
 */
public interface ICanteenOrderAddressService 
{
    /**
     * 查询订餐地址
     * 
     * @param id 订餐地址主键
     * @return 订餐地址
     */
    public CanteenOrderAddress selectCanteenOrderAddressById(Long id);

    /**
     * 查询订餐地址列表
     * 
     * @param canteenOrderAddress 订餐地址
     * @return 订餐地址集合
     */
    public List<CanteenOrderAddress> selectCanteenOrderAddressList(CanteenOrderAddress canteenOrderAddress);

    /**
     * 新增订餐地址
     * 
     * @param canteenOrderAddress 订餐地址
     * @return 结果
     */
    public int insertCanteenOrderAddress(CanteenOrderAddress canteenOrderAddress);

    /**
     * 修改订餐地址
     * 
     * @param canteenOrderAddress 订餐地址
     * @return 结果
     */
    public int updateCanteenOrderAddress(CanteenOrderAddress canteenOrderAddress);

    /**
     * 批量删除订餐地址
     * 
     * @param ids 需要删除的订餐地址主键集合
     * @return 结果
     */
    public int deleteCanteenOrderAddressByIds(Long[] ids);

    /**
     * 删除订餐地址信息
     * 
     * @param id 订餐地址主键
     * @return 结果
     */
    public int deleteCanteenOrderAddressById(Long id);

    /**
     * 作废订餐地址
     *
     * @param id 订餐地址主键
     * @param userId 作废操作人ID
     * @return 结果
     */
    public int invalidCanteenOrderAddressById(Long id, Long userId);

    /**
     * 设置默认订餐地址
     * @param id 订餐地址主键
     * @param userId 作废操作人ID
     * @return 结果
     */
    public int setDefaultCanteenOrderAddress(Long id, Long userId);

    /**
     * 查询订餐地址列表
     *
     * @param userId 用户id
     * @return 订餐地址集合
     */
    public List<CanteenOrderAddressVo> selectCanteenOrderAddressListByUserId(Long userId, Integer isDefault);
}
